TURNO ROTATORIO
Un modo sencillo de reducir la penalización que
sufren los trabajos cortos con FCFS es considerar la apropiación
dependiente de un reloj. La más simple de estas políticas
se denomina planificación por turno rotatorio (RR. Round
Robin). Periódicamente se genera una interrupción de
reloj. Cuando se genera la interrupción el proceso que esta en
ejecución se sitúa en la cola de listos y se selecciona
el siguiente trabajo según un FCFS. Esta técnica se
conoce también como fracciones de tiempo puesto que cada
proceso recibe una fracción de tiempo antes de ser
expulsado.
Con esta politica del turno rotatorio la cuestión
principal de diseño es la longitud del cuanto de tiempo o
fracción que se va a usar. Si el cuanto es muy pequeño
los procesos cortos pasan por el sistema rápidamente. Por otro
lado se produce una sobrecarga en la gestión de las
interrupciones del reloj y en la ejecución de las funciones de
planificación y expedición. Por lo tanto se deben
evitar los cuantos pequeños. Una referencia útil
consiste en que el cuanto debe ser ligeramente mayor que el tiempo
necesario para una interacción. Si es menor la mayoría
de los procesos necesitaran al menos dos cuantos.
El turno
rotatorio es particularmente efectivo en sistemas de carácter
general y de tiempo compartido o de procesos de transacciones. Una
desventaja del turno rotatorio es el tratamiento que hace de los
procesos con carga de procesador y con carga de E/S. Generalmente un
proceso con carga de E/S tiene ráfagas de procesador (cantidad
de tiempo consumido ejecutando entre dos operaciones de E/S) mas
cortas que un proceso con carga de procesador. Si hay una mezcla de
procesos con carga de procesador y con carga de E/S, ocurrirá
lo siguiente: un proceso con carga de E/S utiliza el procesador
durante un periodo corto y después se bloquea en la E/S;
espera a que se complete la operación de E/S y entonces vuelve
a la cola de Listos. Por otro lado, un proceso con carga de
procesador generalmente hace uso de un cuanto de tiempo completo
cuando se ejecuta e inmediatamente retorna a la cola de listos. Asi
pues, los procesos con carga procesador tienden a recibir una porción
desigual de tiempo de procesador, lo que origina un rendimiento pobre
de los procesos con carga de E/S un mal aprovechamiento de los
dispositivos de E/S y un incremento de la variabilidad del tiempo de
respuesta.
El turno rotatorio virtual (VRR, virtual Round Robin) y
que evita esta desigualdad.
En el esquema se muestra los nuevos procesos llegados que se unen a la cola de listos que se gestiona según un FCFS. Cuando un proceso termina su cuanto de ejecución, vuelve a la cola de listos. Cuando un proceso se bloquea por una E/S, se añade a la cola de entrada salida. Hasta ahora, el tratamiento es normal, la nueva característica consiste en una cola FCFS auxiliar a la que se desplazan los procesos una vez que son liberados de la espera por la E/S. Al tomar una decisión sobre el siguiente proceso a expedir, los procesos de la cola auxiliar tienen preferencia sobre los de la cola principal de Listos. Cuando se expira un proceso desde la cola auxiliar, no se puede ejecutar más que un tiempo igual al cuanto básico menos el tiempo total de ejecución consumido desde que fue seleccionado por última vez en la cola de listo. Algunos estudios de rendimientos realizados demuestran que este método es superior al turno rotatorio en lo que se refiere a equidad.